{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## RUL prediction using boosting\n",
    "\n",
    "In this notebook, we will apply boosting to predict RUL of NASA's turbofan engine dataset FD004. To implement boosting, we will use [XGBoost](https://xgboost.readthedocs.io/en/latest/index.html) library."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import xgboost as xgb\n",
    "\n",
    "from sklearn.metrics import mean_squared_error\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "np.random.seed(483)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# print(\"Numpy version: \", np.__version__)\n",
    "# print(\"Pandas version: \", pd.__version__)\n",
    "# print(\"XGBoost version: \", xgb.__version__)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Preprocessing\n",
    "\n",
    "We strongly encourage readers to go through the [dataset description and prreprocessing notebook](https://github.com/biswajitsahoo1111/rul_codes_open/blob/master/notebooks/cmapss_notebooks/CMAPSS_data_description_and_preprocessing.ipynb). In that notebook we have explained how data preprocessing functions work with simple examples. In this notebook we will only use those functions. So prior familiarity with these functions is an advantage. Below are the parameters that we will use for data preprocessing:\n",
    "\n",
    "* Degradation model: Piecewise linear\n",
    "* Early RUL: 125\n",
    "* Window length: 1\n",
    "* Shift: 1\n",
    "* Data scaling: No (Tree based methods don't require data scaling)\n",
    "\n",
    "We will calculate two prediction scores on test data. In one case, we will take last 5 examples of test data for engine, calculate their predictions, and finally average those for each engine. In the second case, we will take only the last example of each engine and make predictions. The logic behind taking last 5 examples and averaging their predictions is to make the prediction robust against outliers. Due to some external factor, if our last example happens to be corrupted, its prediction outcome might be far off from the actual one. But if we average predictions from last 5 examples, we will get a more conservative estimate. \n",
    "\n",
    "In the following cell we will show boxplots of each column of training data. That will give us an idea about the values in different columns. If all the values in a column are constant, we drop those columns from our analysis.\n",
    "\n",
    "Readers can download the data from [here](https://ti.arc.nasa.gov/tech/dash/groups/pcoe/prognostic-data-repository/#turbofan). In the following cells, wherever data are read from a folder, readers should change the string to point to the respective folder from their system to run this notebook seamlessly."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x1512 with 21 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_data = pd.read_csv(\"/home/biswajit/data/cmapss_data/train_FD004.txt\", sep= \"\\s+\", header = None)\n",
    "plt.figure(figsize = (16, 21))\n",
    "for i in range(21):\n",
    "    temp_data = train_data.iloc[:,i+5]\n",
    "    plt.subplot(7,3,i+1)\n",
    "    plt.boxplot(temp_data)\n",
    "plt.show()\n",
    "\n",
    "def process_targets(data_length, early_rul = None):\n",
    "    \"\"\" \n",
    "    Takes datalength and earlyrul as input and \n",
    "    creates target rul.\n",
    "    \"\"\"\n",
    "    if early_rul == None:\n",
    "        return np.arange(data_length-1, -1, -1)\n",
    "    else:\n",
    "        early_rul_duration = data_length - early_rul\n",
    "        if early_rul_duration <= 0:\n",
    "            return np.arange(data_length-1, -1, -1)\n",
    "        else:\n",
    "            return np.append(early_rul*np.ones(shape = (early_rul_duration,)), np.arange(early_rul-1, -1, -1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_input_data_with_targets(input_data, target_data = None, window_length = 1, shift = 1):\n",
    "    \"\"\"Depending on values of window_length and shift, this function generates batchs of data and targets \n",
    "    from input_data and target_data.\n",
    "    \n",
    "    Number of batches = np.floor((len(input_data) - window_length)/shift) + 1\n",
    "    \n",
    "    **We don't check input dimensions uisng exception handling. So readers should be careful while using these\n",
    "    functions. If input data are not of desired dimension, either error occurs or something undesirable is \n",
    "    produced as output.**\n",
    "    \n",
    "    Arguments:\n",
    "        input_data: input data to function (Must be 2 dimensional)\n",
    "        target_data: input rul values (Must be 1D array)s\n",
    "        window_length: window length of data\n",
    "        shift: Distance by which the window moves for next batch. This is closely related to overlap\n",
    "               between data. For example, if window length is 30 and shift is 1, there is an overlap of \n",
    "               29 data points between two consecutive batches.\n",
    "        \n",
    "    \"\"\"\n",
    "    num_batches = np.int(np.floor((len(input_data) - window_length)/shift)) + 1\n",
    "    num_features = input_data.shape[1]\n",
    "    output_data = np.repeat(np.nan, repeats = num_batches * window_length * num_features).reshape(num_batches, window_length,\n",
    "                                                                                                  num_features)\n",
    "    if target_data is None:\n",
    "        for batch in range(num_batches):\n",
    "            output_data[batch,:,:] = input_data[(0+shift*batch):(0+shift*batch+window_length),:]\n",
    "        return output_data\n",
    "    else:\n",
    "        output_targets = np.repeat(np.nan, repeats = num_batches)\n",
    "        for batch in range(num_batches):\n",
    "            output_data[batch,:,:] = input_data[(0+shift*batch):(0+shift*batch+window_length),:]\n",
    "            output_targets[batch] = target_data[(shift*batch + (window_length-1))]\n",
    "        return output_data, output_targets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_test_data(test_data_for_an_engine, window_length, shift, num_test_windows = 1):\n",
    "    \"\"\" This function takes test data for an engine as first input. The next two inputs\n",
    "    window_length and shift are same as other functins. \n",
    "    \n",
    "    Finally it takes num_test_windows as the last input. num_test_windows sets how many examplles we\n",
    "    want from test data (from last). By default it extracts only the last example.\n",
    "    \n",
    "    The function return last examples and number of last examples (a scaler) as output. \n",
    "    We need the second output later. If we are extracting more than 1 last examples, we have to \n",
    "    average their prediction results. The second scaler halps us do just that.\n",
    "    \"\"\"\n",
    "    max_num_test_batches = np.int(np.floor((len(test_data_for_an_engine) - window_length)/shift)) + 1\n",
    "    if max_num_test_batches < num_test_windows:\n",
    "        required_len = (max_num_test_batches -1)* shift + window_length\n",
    "        batched_test_data_for_an_engine = process_input_data_with_targets(test_data_for_an_engine[-required_len:, :],\n",
    "                                                                          target_data = None,\n",
    "                                                                          window_length = window_length, shift = shift)\n",
    "        return batched_test_data_for_an_engine, max_num_test_batches\n",
    "    else:\n",
    "        required_len = (num_test_windows - 1) * shift + window_length\n",
    "        batched_test_data_for_an_engine = process_input_data_with_targets(test_data_for_an_engine[-required_len:, :],\n",
    "                                                                          target_data = None,\n",
    "                                                                          window_length = window_length, shift = shift)\n",
    "        return batched_test_data_for_an_engine, num_test_windows"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processed trianing data shape:  (60994, 1, 21)\n",
      "Processed training ruls shape:  (60994,)\n",
      "Processed test data shape:  (1240, 1, 21)\n",
      "True RUL shape:  (248,)\n"
     ]
    }
   ],
   "source": [
    "test_data = pd.read_csv(\"/home/biswajit/data/cmapss_data/test_FD004.txt\", sep = \"\\s+\", header = None)\n",
    "true_rul = pd.read_csv('/home/biswajit/data/cmapss_data/RUL_FD004.txt', sep = '\\s+', header = None)\n",
    "\n",
    "window_length = 1\n",
    "shift = 1\n",
    "early_rul = 125            \n",
    "processed_train_data = []\n",
    "processed_train_targets = []\n",
    "\n",
    "# How many test windows to take for each engine. If set to 1 (this is the default), only last window of test data for \n",
    "# each engine are taken. If set to a different number, that many windows from last are taken. \n",
    "# Final output is the average of output of all windows.\n",
    "num_test_windows = 5     \n",
    "processed_test_data = []\n",
    "num_test_windows_list = []\n",
    "\n",
    "columns_to_be_dropped = [0,1,2,3,4]\n",
    "\n",
    "num_machines = np.min([len(train_data[0].unique()), len(test_data[0].unique())])\n",
    "\n",
    "for i in np.arange(1, num_machines + 1):\n",
    "    \n",
    "    temp_train_data = train_data[train_data[0] == i].drop(columns=columns_to_be_dropped).values\n",
    "    temp_test_data = test_data[test_data[0] == i].drop(columns=columns_to_be_dropped).values\n",
    "    \n",
    "    # Verify if data of given window length can be extracted from both training and test data\n",
    "    if (len(temp_test_data) < window_length):\n",
    "        print(\"Test engine {} doesn't have enough data for window_length of {}\".format(i, window_length))\n",
    "        raise AssertionError(\"Window length is larger than number of data points for some engines. \"\n",
    "                             \"Try decreasing window length.\")\n",
    "    elif (len(temp_train_data) < window_length):\n",
    "        print(\"Train engine {} doesn't have enough data for window_length of {}\".format(i, window_length))\n",
    "        raise AssertionError(\"Window length is larger than number of data points for some engines. \"\n",
    "                             \"Try decreasing window length.\")\n",
    "    \n",
    "    temp_train_targets = process_targets(data_length = temp_train_data.shape[0], early_rul = early_rul)\n",
    "    data_for_a_machine, targets_for_a_machine = process_input_data_with_targets(temp_train_data, temp_train_targets, \n",
    "                                                                                window_length = window_length, shift = shift)\n",
    "    \n",
    "    # Prepare test data\n",
    "    test_data_for_an_engine, num_windows = process_test_data(temp_test_data, window_length = window_length, shift = shift,\n",
    "                                                             num_test_windows = num_test_windows)\n",
    "    \n",
    "    processed_train_data.append(data_for_a_machine)\n",
    "    processed_train_targets.append(targets_for_a_machine)\n",
    "    \n",
    "    processed_test_data.append(test_data_for_an_engine)\n",
    "    num_test_windows_list.append(num_windows)\n",
    "\n",
    "processed_train_data = np.concatenate(processed_train_data)\n",
    "processed_train_targets = np.concatenate(processed_train_targets)\n",
    "processed_test_data = np.concatenate(processed_test_data)\n",
    "true_rul = true_rul[0].values\n",
    "\n",
    "# Shuffle data\n",
    "index = np.random.permutation(len(processed_train_targets))\n",
    "processed_train_data, processed_train_targets = processed_train_data[index], processed_train_targets[index]\n",
    "\n",
    "print(\"Processed trianing data shape: \", processed_train_data.shape)\n",
    "print(\"Processed training ruls shape: \", processed_train_targets.shape)\n",
    "print(\"Processed test data shape: \", processed_test_data.shape)\n",
    "print(\"True RUL shape: \", true_rul.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processed train data shape:  (60994, 21)\n",
      "Processed test data shape:  (1240, 21)\n"
     ]
    }
   ],
   "source": [
    "processed_train_data = processed_train_data.reshape(-1, processed_train_data.shape[2])\n",
    "processed_test_data = processed_test_data.reshape(-1, processed_test_data.shape[2])\n",
    "print(\"Processed train data shape: \", processed_train_data.shape)\n",
    "print(\"Processed test data shape: \", processed_test_data.shape)\n",
    "\n",
    "dtrain = xgb.DMatrix(processed_train_data, label = processed_train_targets)\n",
    "dtest = xgb.DMatrix(processed_test_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tTrain-rmse:29.95291\n",
      "[50]\tTrain-rmse:18.06709\n",
      "[100]\tTrain-rmse:17.30910\n",
      "[150]\tTrain-rmse:16.85446\n",
      "[200]\tTrain-rmse:16.50604\n",
      "[250]\tTrain-rmse:16.16667\n",
      "[300]\tTrain-rmse:15.86320\n",
      "[350]\tTrain-rmse:15.56206\n",
      "[400]\tTrain-rmse:15.31112\n",
      "[450]\tTrain-rmse:15.05218\n",
      "[499]\tTrain-rmse:14.84005\n"
     ]
    }
   ],
   "source": [
    "num_rounds = 500\n",
    "params = {\"max_depth\":3, \"learning_rate\":1, \"objective\":\"reg:squarederror\"}\n",
    "bst = xgb.train(params, dtrain, num_boost_round = num_rounds, evals = [(dtrain, \"Train\")], verbose_eval = 50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE:  29.519129108237898\n"
     ]
    }
   ],
   "source": [
    "rul_pred = bst.predict(dtest)\n",
    "\n",
    "# First split predictions according to number of windows of each engine\n",
    "preds_for_each_engine = np.split(rul_pred, np.cumsum(num_test_windows_list)[:-1])\n",
    "mean_pred_for_each_engine = [np.average(ruls_for_each_engine, weights = np.repeat(1/num_windows, num_windows)) \n",
    "                             for ruls_for_each_engine, num_windows in zip(preds_for_each_engine, num_test_windows_list)]\n",
    "RMSE = np.sqrt(mean_squared_error(true_rul, mean_pred_for_each_engine))\n",
    "print(\"RMSE: \", RMSE)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With somewhat arbitrary choice of hyperparameters, we obtained an RMSE value of 29.51. But can we do better? To find out better values of hyperparameters, we can do a principled hyperparameter tuning. There are different ways to do hyperparameter search. Here, we will use simple grid search. \n",
    "\n",
    "In grid search, we first define a grid of parameters. Then for each set of parameters, we will fit a 10 xgboost models (as it is 10 fold cross validation). Finally we will average the result of all folds for a particular parameter choice. The parameter choice that gives best score for cross validation is chosen as the best hyperparameter.\n",
    "\n",
    "Grid search of hyperparameters (with cross validation) is computationally intensive. It might take a long time on a personal computer. If that is the case, readers are advised to comment the next cell and directly use the best hyperparameter values as done in subsequent cells."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "max_depth: 2, eta: 0.01\n",
      "RMSE: 23.862560100000003 in 500 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.1\n",
      "RMSE: 18.5225777 in 500 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.3\n",
      "RMSE: 17.919113799999998 in 500 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.5\n",
      "RMSE: 17.8793693 in 495 rounds\n",
      "\n",
      "max_depth: 2, eta: 1.0\n",
      "RMSE: 18.326572700000003 in 285 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.01\n",
      "RMSE: 20.840715 in 500 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.1\n",
      "RMSE: 17.770347100000002 in 500 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.3\n",
      "RMSE: 17.715740900000004 in 349 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.5\n",
      "RMSE: 17.9321908 in 219 rounds\n",
      "\n",
      "max_depth: 3, eta: 1.0\n",
      "RMSE: 18.515163200000003 in 111 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.01\n",
      "RMSE: 19.4013363 in 500 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.1\n",
      "RMSE: 17.5591791 in 500 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.3\n",
      "RMSE: 17.7390939 in 225 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.5\n",
      "RMSE: 18.0385202 in 109 rounds\n",
      "\n",
      "max_depth: 4, eta: 1.0\n",
      "RMSE: 18.8752685 in 54 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.01\n",
      "RMSE: 18.571805899999998 in 500 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.1\n",
      "RMSE: 17.5358345 in 370 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.3\n",
      "RMSE: 17.8098242 in 128 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.5\n",
      "RMSE: 18.082159899999997 in 57 rounds\n",
      "\n",
      "max_depth: 5, eta: 1.0\n",
      "RMSE: 19.107299 in 26 rounds\n",
      "\n",
      "Best parameters are: Max_depth= 5, eta= 0.1, num_rounds = 370. Corresponding RMSE: 17.5358345\n"
     ]
    }
   ],
   "source": [
    "param_grid = [(max_depth, eta) for max_depth in np.arange(2,6) for eta in np.array([0.01, 0.1, 0.3, 0.5, 1])]\n",
    "\n",
    "min_rmse = np.inf\n",
    "best_params = None\n",
    "params = dict()\n",
    "params[\"objective\"] = \"reg:squarederror\"\n",
    "for max_depth, eta in param_grid:\n",
    "    print(\"max_depth: {}, eta: {}\".format(max_depth, eta))\n",
    "    \n",
    "    params[\"max_depth\"] = max_depth\n",
    "    params[\"eta\"] = eta\n",
    "    \n",
    "    cv_res = xgb.cv(params, dtrain, num_boost_round= num_rounds, early_stopping_rounds= 10, nfold = 10, seed = 137)\n",
    "    \n",
    "    best_rmse_val = cv_res[\"test-rmse-mean\"].min()\n",
    "    best_num_rounds = cv_res[\"test-rmse-mean\"].argmin() + 1\n",
    "    \n",
    "    print(\"RMSE: {} in {} rounds\".format(best_rmse_val, best_num_rounds))\n",
    "    print()\n",
    "    \n",
    "    if best_rmse_val < min_rmse:\n",
    "        min_rmse = best_rmse_val\n",
    "        best_params = (max_depth, eta, best_num_rounds)\n",
    "        \n",
    "print(\"Best parameters are: Max_depth= {}, eta= {}, num_rounds = {}. Corresponding RMSE: {}\".format(best_params[0],\n",
    "                                                                                                    best_params[1],\n",
    "                                                                                                    best_params[2],\n",
    "                                                                                                    min_rmse))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will use the best parameters to train the final regressor. The `num_boost_round` value obtained above is the best value for cross validation. We can take a value that is different from the above number but not very far from it. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE after hyperparameter tuning:  29.494554402730085\n"
     ]
    }
   ],
   "source": [
    "params_tuned = {\"max_depth\":5, \"eta\":0.1, \"objective\":\"reg:squarederror\"}\n",
    "bst_tuned = xgb.train(params_tuned, dtrain, num_boost_round= 500)\n",
    "\n",
    "rul_pred_tuned = bst_tuned.predict(dtest)\n",
    "\n",
    "preds_for_each_engine_tuned = np.split(rul_pred_tuned, np.cumsum(num_test_windows_list)[:-1])\n",
    "mean_pred_for_each_engine_tuned = [np.average(ruls_for_each_engine, weights = np.repeat(1/num_windows, num_windows)) \n",
    "                                   for ruls_for_each_engine, num_windows in zip(preds_for_each_engine_tuned,\n",
    "                                                                                num_test_windows_list)]\n",
    "RMSE_tuned = np.sqrt(mean_squared_error(true_rul, mean_pred_for_each_engine_tuned))\n",
    "print(\"RMSE after hyperparameter tuning: \", RMSE_tuned)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that while prediction, we are predicting RUL values for last 5 examples of every engine. Then we take mean of all 5 predictions for each engine and calculate final RMSE.\n",
    "\n",
    "If instead we wish to take only the last example of every engine to make predictions and calculate RUL, we can do so by taking the last prediction of every engine as calculated before and calcutate RMSE as follows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([   4,    9,   14,   19,   24,   29,   34,   39,   44,   49,   54,\n",
       "         59,   64,   69,   74,   79,   84,   89,   94,   99,  104,  109,\n",
       "        114,  119,  124,  129,  134,  139,  144,  149,  154,  159,  164,\n",
       "        169,  174,  179,  184,  189,  194,  199,  204,  209,  214,  219,\n",
       "        224,  229,  234,  239,  244,  249,  254,  259,  264,  269,  274,\n",
       "        279,  284,  289,  294,  299,  304,  309,  314,  319,  324,  329,\n",
       "        334,  339,  344,  349,  354,  359,  364,  369,  374,  379,  384,\n",
       "        389,  394,  399,  404,  409,  414,  419,  424,  429,  434,  439,\n",
       "        444,  449,  454,  459,  464,  469,  474,  479,  484,  489,  494,\n",
       "        499,  504,  509,  514,  519,  524,  529,  534,  539,  544,  549,\n",
       "        554,  559,  564,  569,  574,  579,  584,  589,  594,  599,  604,\n",
       "        609,  614,  619,  624,  629,  634,  639,  644,  649,  654,  659,\n",
       "        664,  669,  674,  679,  684,  689,  694,  699,  704,  709,  714,\n",
       "        719,  724,  729,  734,  739,  744,  749,  754,  759,  764,  769,\n",
       "        774,  779,  784,  789,  794,  799,  804,  809,  814,  819,  824,\n",
       "        829,  834,  839,  844,  849,  854,  859,  864,  869,  874,  879,\n",
       "        884,  889,  894,  899,  904,  909,  914,  919,  924,  929,  934,\n",
       "        939,  944,  949,  954,  959,  964,  969,  974,  979,  984,  989,\n",
       "        994,  999, 1004, 1009, 1014, 1019, 1024, 1029, 1034, 1039, 1044,\n",
       "       1049, 1054, 1059, 1064, 1069, 1074, 1079, 1084, 1089, 1094, 1099,\n",
       "       1104, 1109, 1114, 1119, 1124, 1129, 1134, 1139, 1144, 1149, 1154,\n",
       "       1159, 1164, 1169, 1174, 1179, 1184, 1189, 1194, 1199, 1204, 1209,\n",
       "       1214, 1219, 1224, 1229, 1234, 1239])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "indices_of_last_examples = np.cumsum(num_test_windows_list) - 1\n",
    "indices_of_last_examples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE (Taking only last examples):  29.886752746555768\n"
     ]
    }
   ],
   "source": [
    "preds_for_last_example = np.concatenate(preds_for_each_engine_tuned)[indices_of_last_examples]\n",
    "\n",
    "RMSE_new = np.sqrt(mean_squared_error(true_rul, preds_for_last_example))\n",
    "print(\"RMSE (Taking only last examples): \", RMSE_new)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If you are not convinced by above calculations, take a look at the last section of [this notebook](https://github.com/biswajitsahoo1111/rul_codes_open/blob/master/notebooks/cmapss_notebooks/CMAPSS_FD001_xgboost_piecewise_linear_degradation_model.ipynb)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For CMAPSS data, along with RMSE another metric (S-score) is usually reported in literature. S-score is defined as:\n",
    "\n",
    "$$S= \\sum_{i=1}^N{s_i}$$\n",
    "\n",
    "where, \n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "    s_i=\n",
    "    \\begin{cases}\n",
    "      (e^{-\\frac{d_i}{13}})-1, & \\text{for}\\ d_i < 1 \\\\\n",
    "      (e^{\\frac{d_i}{10}})-1, & \\text{for}\\ d_i \\geq 1\\\\\n",
    "    \\end{cases}\n",
    "  \\end{equation}\n",
    "  $$\n",
    "  \n",
    "We can compute the S-metric as follows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "def compute_s_score(rul_true, rul_pred):\n",
    "    \"\"\"\n",
    "    Both rul_true and rul_pred should be 1D numpy arrays.\n",
    "    \"\"\"\n",
    "    diff = rul_pred - rul_true\n",
    "    return np.sum(np.where(diff < 0, np.exp(-diff/13)-1, np.exp(diff/10)-1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "S-score:  8544.235173650413\n"
     ]
    }
   ],
   "source": [
    "s_score = compute_s_score(true_rul, preds_for_last_example)\n",
    "print(\"S-score: \", s_score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot true and predicted RUL values\n",
    "plt.plot(true_rul, label = \"True RUL\", color = \"red\")\n",
    "plt.plot(preds_for_last_example, label = \"Pred RUL\", color = \"blue\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also plot variable importance score."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:title={'center':'Feature importance'}, xlabel='F score', ylabel='Features'>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "xgb.plot_importance(bst_tuned)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As a final note remember that hyperparameter tuning is more of an art than science. It is possible to obtain better results than what has been obtained here by choosing better set of hyperparameters.\n",
    "\n",
    "For other reproducible results on RUL, interested readers can visit my [project page](https://biswajitsahoo1111.github.io/rul_codes_open). "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "tf_cpu_23",
   "language": "python",
   "name": "tf_cpu_23"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
